home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 8: LINUX Games
/
Linux Cubed Series 8 - LINUX Games.iso
/
games
/
x11
/
strategy
/
xpuzzles.3
/
xpuzzles
/
xpuzzles-5.3.1
/
xmball
/
README
< prev
next >
Wrap
Text File
|
1996-04-08
|
8KB
|
193 lines
X-BASED MASTERBALL(tm)
================== Masterball X widget, V5.3
It has been tested on the following platforms:
HP 3xx & 700 HP-UX 9.0x X11R5
Sun4, SPARC SunOS 4.1.3 X11R4
Sun4, SPARC SunOS 5.4 X11R5
PC, 486 Linux 1.0.9 X11R5(*)
PC, 486 Linux 1.2.8 X11R6(**)
* Keypad 5 key may not work, in which case, try it with the
Num-Lock on
** Keypad may not work, since various keycodes may not be defined
by default. Check that "KP_1 - KP_9, Home, Up, Prior, Left,
Begin, Right, End, Down, Next" are defined towards the end of
/usr/lib/X11/etc/xmodmap.std . If not defined
cp /usr/lib/X11/etc/xmodmap.std /usr/lib/X11/xinit/.Xmodmap
and then motify this or create your own at ${HOME}/.Xmodmap .
You should just have to uncomment them (get rid of some '!').
This should be done before X is started.
If yours is not in this list, please let me know -- thanks. The
most updated source could be found on ftp.x.org under
/contrib/games/puzzles.
HOW TO BUILD?
Do you have Motif? If so, uncomment line 28 of Imakefile.
It should be easy. Edit the Imakefile (or Makefile.std, see below)
for appropriate settings of variable SCOREFILE, then do:
xmkmf
make
xmball [motif version will be xmmball]
Note: if you don't have 'xmkmf' or the "Makefile" it generates
doesn't work well, edit Makefile.std for appropriate settings for
XINCLUDEPATH and XLIBPATH, then try:
make -f Makefile.std
xmball
or if you have Motif, uncomment appropriate sections, then try:
make -f Makefile.std all.xm
xmmball
You should have Mball.ad copied to $(HOME)/Mball or
/usr/lib/X11/app-defaults/Mball to run, especially if the background
is similar to one of the wedges. Edit this file for your preferences.
You might want to move xmball into /usr/bin/X11 (or wherever your
X binaries are).
You might also want to move xmball.man to /usr/man/man6/xmball.6
ANYTHING SPECIAL IN USING?
Click on the left mouse button to move a sector. Release it on an
another piece and the puzzle will turn towards where the mouse
button is released. Usually, a click and release on the same wedge
is ambiguous and the puzzle will not turn.
Click on the middle mouse button toggle the practice mode. (This is
good for learning moves). Also 'P' or 'p' does the same thing.
One must double click on the middle mouse button if the puzzle is
being worked on.
Click on the right mouse button if you want to randomize the puzzle.
Also 'R' or 'r' does the same thing. One must double click on
the right mouse button if the puzzle is being worked on.
'I' or 'i' to increase or move up the number of latitude cuts.
'D' or 'd' to decrease or move down the number of latitude cuts.
'O' or 'o' to toggle orient mode.
'2', '4', '6', or '8' (not the keypad 2, 4, 6, 8) to change to 2, 4,
6, or 8 wedges, respectively.
Note: if there were odd number of wedges, there would be no 180
degree turn and therefore the puzzle would be inoperable.
'S' or 's' to auto-solve. Unfortunately, its unimplemented.
'U' or 'u' to undo last move.
'G' or 'g' to get a saved puzzle.
'W' or 'w' to write or save a puzzle.
'Q', 'q', or Control-C to kill program.
Key pad is defined for masterball as:
/
7 8 9
^
4 < 5 > 6
v
1 2 3
The key pad along with the use of the mouse will allow you to move the
wedges i.e.,
KP_DIVIDE=>CCW
KP_7=>TopLeft KP_8=>Top KP_9=>TopRight
KP_4=>Left KP_5=>CW KP_6=>Right
KP_1=>BottomLeft KP_2=>Bottom KP_3=>BottomRight
The control feature allows you to move the whole masterball at
once without being entered as a move. Hold down the control key
while using the left mouse button or the keypad.
One has to orient the wedges in orient mode, besides getting all the
wedges to be the same color. To do this one has to get the wedges
with the numbers on one side and in order (clockwise). This will add
complexity, so there are 2 sets of records.
Try resizing the masterball. Notice the puzzle resizes to take
advantage of the "room" available.
The title is in the following format (non-motif version):
xmball.{2|4|6|8}: <int> @ (<Number of moves>/\
{<Record number of moves>|NEVER|PRACTICE}) - <Comment>
{2|4|6|8}: current number of wedges.
<int>: number of sectors per wedge.
{<Record...}: puzzle is either in practice mode or record mode
In record mode, if there is no record of the current puzzle, it
displays "NEVER".
If you were looking for a auto-solver, sorry. One of the problems in
auto-solvers the generally don't work for different number of cuts.
If you know of one let me know.
I know the look is not exactly right. For simplicity, I did not take
into account spherical placement of the latitude cuts.
Refer to the man page for detailed command line options.
If you want further information on puzzles, I'll be glad :-) to send
it to you.
SAVE FORMAT
The format is not standard. The reason is that this is simple to
produce and the standard notation is no good for variable number of
wedges. The format will probably change to become more readable.
wedges: 1-8 number of wedges around ball
rings: 1-MAXINT number of slices around ball
orient: 0 false, 1 true numbers on to be oriented and ordered
practice: 0 false, 1 true
moves: 0-MAXINT
startingPosition:
0 Y
7 1 D B
if orient mode, orientation number
6 2 C R follows face number, clockwise numbered
5 3 O M
4 G
This is then followed by the moves
move #: wedge ring direction control
each turn is with respect to a sector face. The first 2 numbers
(after the ':') wedge, ring, refer to the wedge and level,
followed by direction and control
Direction is represented as 0 up, 1 right, 2 down, 3 left, 4 upper right,
5 lower right, 6 lower left, 7 upper left, 9 clockwise, and 15
counterclockwise.
Control is represented as 0 or 1, 1 if the whole ball is moved at
once, 0 if not. The xmball record keeper does not count a control
move as a move, but here we do.
Caution: the program may crash on corrupted input.
FOUND A BUG?
Send bugs reports and fixes to the author. For bugs, please include
as much information as to their location as possible, since I may not
have the resources to duplicate the them.
David Albert Bagley, bagleyd@hertz.njit.edu
HISTORY
[Apr 08, 96] V5.3: Minor changes.
[Jan 31, 96] V5.2: Puzzle can be moved by a more intuitive drag and
drop approach. Sectors will invert, when selected.
Now using dynamic allocation, so there is no maximum
number of rings. The maximum number of wedges though
is still fixed at 8.
[Dec 15, 95] V5.1: Minor updates, RNG for 32/64 bit. Better sector
drawing algorithm. I did not figure out the border
lines on the sectors, next time...
[Oct 02, 95] V5.0: Xt/Motif, your choice.
[May 16, 95] V4.10: Warnings removed from Sun's cc and lint and now
include a random number generator.
[Mar 13, 95] V1.4: Removed lint warnings and added a VMS make.com .
[Nov 11, 94] V1.3: Conservative guess for random number generator.
[Nov 07, 94] V1.2: Now allows undos, saves, and recalls.
[Sep 19, 94] V1.1: Minor changes.
[Sep 15, 94] V1.0: Xt version.